Tag: docker

Today I received a notice on my computer about  another Docker Desktop update, but this time a new agreement had to be accepted as now for professional use there is a subscription.
I saw many people commenting about this when the new licensing model was announced and since Kubernetes will no longer support the Docker Container Engine, I decided to remove Docker Desktop from my MAC and install Podman.

To remove the Docker Desktop I used this article and to install Podman I used the following steps:

  • brew install podman
  • podman machine init
  • podman machine start

Use podman info to see if everything is ok.

Linux

These are my steps to create a MySQL Docker container, i am using Docker for Mac.

1 – Create a folder to save the database. If you do not create a Docker volume you will loose your data when you restart your container.  My folder is /Users/keniocarvalho/VolumesDocker/mysqdata

2- Execute the command bellow:

docker run –name mysqldb -p 3306:3306 -v /Users/keniocarvalho/VolumesDocker/mysqdata/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latest

3 – Enter on the mysql container using the command :  docker exec -it mysqldb bash

4 – Inside the container type : mysql -uroot -p. The system will ask for the password. Here the password is password.

5 – To access the database from outside the container run this commands on the mysql console:

CREATE USER ‘root’@’%’ IDENTIFIED BY ‘root’;

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

Verify the permission:

mysql> SELECT host, user FROM mysql.user;
+———–+——————+
| host | user |
+———–+——————+
| % | root |
| localhost | healthchecker |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+———–+——————+

Now you can access the mysql from outside of the container using port 3306  from any host.

Obs: This is not a setup for Production use only in your development workstation.

 

Uncategorized

The webinar was driven by a common scenario: A sysadmin is sitting at her desk minding her own business when a developer walks in and says “here’s the the new app, it’s in a Docker image. Please deploy it ASAP”. This session is designed to help provides some guidance on how sysadmins should think about managing Dockerized applications in production.

 

docker

I used the steps bellow to run my chatbot servlet application inside of a Docker container.

1 – Download WAS Liberty Docker image:

docker pull websphere-liberty

2 – Create a Docker file with the following lines

FROM websphere-liberty
ADD ChatBot.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ADD server.xml /opt/ibm/wlp/usr/servers/defaultServer/
ENV LICENSE accept

ChatBot.war is my chatbot application.
To add features and configuration for your server you need to update the server.xml.
Do not forget to put host=”*” on httpEndpoint or you will not access the server from your browser.

The server.xml is listed below

<server description=”new server”>

<!– Enable features –>
<featureManager>
<feature>javaee-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>distributedMap-1.0</feature>
<feature>webCache-1.0</feature>
</featureManager>
<basicRegistry id=”basic” realm=”BasicRealm”>
<!– <user name=”yourUserName” password=”” />  –>
</basicRegistry>
<!– To access this server from a remote client add a host attribute to the following element, e.g. host=”*” –>
<httpEndpoint host=”*” httpPort=”9080″ httpsPort=”9443″ id=”defaultHttpEndpoint”/>
<!– Automatically expand WAR files and EAR files –>
<applicationManager autoExpand=”true”/>
<applicationMonitor updateTrigger=”mbean”/>
<distributedMap id=”watsoncache” jndiName=”services/cache/watsoncache”>
<diskCache/>
</distributedMap>
<keyStore id=”defaultKeyStore” password=”password”/>
<basicRegistry id=”basic” realm=”BasicRealm”>
<user name=”user” password=”password”/>
</basicRegistry>
</server>

3 – execute docker built -t chatbot .
4 – execute docker run -d -p 80:9080 -p 443:9443 chatbot
5 – Open your browser and access your application using localhost.

docker watson WebSphere